Facts and Fallacies of Software Engineering (Paperback)

Facts and Fallacies of Software Engineering (Paperback)

作者: Robert L. Glass
出版社: Addison Wesley
出版在: 2002-10-28
ISBN-13: 9780321117427
ISBN-10: 0321117425
裝訂格式: Paperback
總頁數: 216 頁





內容描述


Table of Contents
Acknowledgments. Foreword.

I. 55 FACTS.

Introduction. @CHAPTER 1. = About Management.
People.
Fact 1. The most important factor in software
work is the quality of the programmers. Fact 2. The best programmers are up
to 28 times better than the worst programmers. Fact 3. Adding people to a
late project makes it later. Fact 4. The working environment has a profound
impact on productivity and quality. Tools and Techniques.
Fact 5. Hype (about tools and techniques) is the
plague on the house of software. Fact 6. New tools/techniques cause an
initial loss of productivity/quality. Fact 7. Software developers talk a lot
about tools, but seldom use them. Estimation.
Fact 8. One of the two most common causes of
runaway projects is poor estimation. Fact 9. Software estimation usually
occurs at the wrong time. Fact 10. Software estimation is usually done by
the wrong people. Fact 11. Software estimates are rarely corrected as the
project proceeds. Fact 12. It is not surprising that software estimates are
bad. But we live and die by them anyway! Fact 13. There is a disconnect
between software management and their programmers. Fact 14. The answer to a
feasibility study is almost always “yes” . Reuse.
Fact 15. Reuse-in-the-small is a well-solved
problem. Fact 16. Reuse-in-the-large remains a mostly unsolved problem.
Fact 17. Reuse-in-the-large works best for families of related systems.
Fact 18. Reusable components are three times as hard to build, and should be
tried out in three settings. Fact 19. Modification of reused code is
particularly error-prone. Fact 20. Design pattern reuse is one solution to
the problems of code reuse. Complexity.
Fact 21. For every 25 percent increase in
problem complexity, there is a 100 percent increase in solution complexity.
Fact 22. Eighty percent of software work is intellectual. A fair amount of
it is creative. Little of it is clerical.

  1. About the Life Cycle.
    Requirements.
    Fact 23. One of the two most common causes of
    runaway projects is unstable requirements. Fact 24. Requirements errors are
    the most expensive to fix during production. Fact 25. Missing requirements
    are the hardest requirements errors to correct. Design.
    Fact 26. Explicit requirements “explode” as
    implicit (design) requirements for a solution evolve. Fact 27. There is
    seldom one best design solution to a software problem. Fact 28. Design is a
    complex, iterative process. Initial design solutions are usually wrong, and
    certainly not optimal. Coding.
    Fact 29. Designer “primitives” (solutions they
    can readily code) rarely match programmer “primitives” . Fact 30. COBOL is a
    very bad language, but all the others (for business applications) are so much
    worse. Error-removal.
    Fact 31. Error-removal is the most
    time-consuming phase of the life cycle. Testing.
    Fact 32. Software is usually tested at best at
    the 55-60 percent (branch) coverage level. Fact 33. 100 percent coverage is
    still far from enough. Fact 34. Test tools are essential, but many are
    rarely used. Fact 35. Test automation rarely is. Most testing activities
    cannot be automated. Fact 36. Programmer-created, built-in, debug code is an
    important supplement to testing tools. Reviews/Inspections.
    Fact 37. Rigorous inspections can remove up to
    90 percent of errors before the first test case is run. Fact 38. But
    rigorous inspections should not replace testing. Fact 39. Post-delivery
    reviews (some call them “retrospectives” ) are important, and seldom performed.
    Fact 40. Reviews are both technical and sociological, and both factors must
    be accommodated. Maintenance.
    Fact 41. Maintenance typically consumes 40-80
    percent of software costs. It is probably the most important life cycle phase of
    software. Fact 42. Enhancements represent roughly 60 percent of maintenance
    costs. Fact 43. Maintenance is a solution, not a problem. Fact 44.
    Understanding the existing product is the most difficult task of maintenance.
    Fact 45. Better methods lead to MORE maintenance, not less.

  2. About Quality.
    Quality.
    Fact 46. Quality IS: a collection of attributes.
    Fact 47. Quality is NOT: user satisfaction, meeting requirements, achieving
    cost/schedule, or reliability. Reliability.
    Reliability.




相關書籍

項目管理資質認證系列:PMP考試口袋書

作者 問靜園 朱君

2002-10-28

Making Sense of Agile Project Management: Balancing Control and Agility (Paperback)

作者 Charles G. Cobb

2002-10-28

Learning Agile: Understanding Scrum, XP, Lean, and Kanban

作者 Andrew Stellman Jennifer Greene

2002-10-28